-- card: 3320 from stack: in.0 -- bmap block id: 3712 -- flags: 4000 -- background id: 24903 -- name: Contents ----- HyperTalk script ----- on openCard put the abbreviated date into card field "Date" set icon of card button "Editor" to 27636 end openCard on idle put the time into card field "Time" end idle on closeCard set icon of card button "Editor" to 27636 set the scroll of card field "Keyfield" to 0 if the visible of card field "Help" is true then set lockscreen to true hide card button "eyehelp" hide card button "keyhelp" hide card button "newcardhelp" hide card field "Help" set lockscreen to false end if end closeCard -- part 4 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=76 top=296 right=317 bottom=96 -- title width / last selected line: 0 -- icon id / first selected line: 26635 / 26635 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Help ----- HyperTalk script ----- on mouseUp if visible of card field "Help" is true then set lockscreen to true hide card button "eyehelp" hide card button "keyhelp" hide card button "newcardhelp" hide card field "Help" set lockscreen to false exit mouseUp end if if visible of card field "Help" is false then set lockscreen to true show card field "Help" show card button "eyehelp" show card button "keyhelp" show card button "newcardhelp" set lockscreen to false end if end mouseUp -- part 6 (field) -- low flags: 00 -- high flags: 2007 -- rect: left=304 top=109 right=295 bottom=441 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 9 -- style flags: 0 -- line height: 12 -- part name: Keyfield -- part 10 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=172 top=295 right=316 bottom=200 -- title width / last selected line: 0 -- icon id / first selected line: 3430 / 3430 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Add Card ----- HyperTalk script ----- on mouseUp if the commandkey is down then push card set the lockscreen to true answer "How do you want to sort entries?" with "Author" or "Magazine" or "Cancel" if it is "Cancel" then pop card set the lockscreen to false exit mouseUp end if set the cursor to 4 if it is "Author" then sort by last word of field "Author" else sort by first word of field "Magazine" pop card set the lockscreen to false exit mouseUp end if set the lockscreen to true push card go to last card of this stack ask "How many new cards do you want?" if it = "" then pop card exit mouseUp end if repeat for it doMenu "New Card" end repeat set the lockscreen to false type tab end mouseUp -- part 21 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=120 top=297 right=315 bottom=150 -- title width / last selected line: 0 -- icon id / first selected line: 1009 / 1009 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Search ----- HyperTalk script ----- on mouseUp global theList -- get most recent title listing if the shiftkey is down then set the cursor to 4 DoList 999,theList,one put the result into tempList put item 2 of tempList into tempList find tempList in field "Title" click at 27,61 exit mouseUp end if if the optionkey is down then doMenu "Find..." exit mouseUp end if if the commandkey is down then set the cursor to 4 put empty into theList set the lockscreen to true repeat for number of cards go to next card if field "Title" is not empty then put line 1 of field "Title" into tempTitle put tempTitle after theList put "," after theList end if end repeat DoList 999,theList,one put the result into tempList put item 2 of tempList into tempList set the lockscreen to false find tempList in field "Title" click at 27,61 exit mouseUp end if --Main handler Answer "How do you want to view articles?" with "Keyword" or "Author" or "Cancel" if it is "Cancel" then exit mouseUp if it is "Keyword" then --find out which keyword(s) the user wants to view by set the cursor to 4 put empty into theList repeat with count=1 to the number of lines in card field "KeyField" in card "Contents" get line count of card field "KeyField" in card "Contents" put it after theList put "," after theList end repeat --use James Paul's DoList XCMD --allowing for a discontinuous selection DoList "Select","Cancel",theList,dis put the result into tempList set the lockscreen to false --save the number of keywords selected put item 1 of tempList into numberOfWords --strip the number from the string of keywords delete item 1 of tempList if tempList is empty then exit mouseUp if numberOfWords>1 then answer "List entries with ALL or just ANY keywords?" with "ALL" or "ANY" or "Cancel" if it is "Cancel" then exit mouseUp if it is "Any" then set the cursor to 4 set the lockscreen to true put empty into theList repeat with count = 1 to number of items in tempList repeat for number of cards go to next card if item count in tempList is in field "Keywords" then if line 1 of field "Title" is not in theList then put line 1 of field "Title" after theList put "," after theList end if end if end repeat end repeat --put the list of titles in the extra wide dialog box DoList 999,theList,one put the result into tempList put item 2 of tempList into tempList find tempList in field "Title" click at 27,61 exit mouseUp else if it is "ALL" then set the cursor to 4 set the lockscreen to true put empty into theList repeat for number of cards put 0 into flag go to next card repeat with count = 1 to number of items in tempList if item count in tempList is not in field "Keywords" then put 1 into flag next repeat end if end repeat if flag = 0 then if line 1 of field "Title" is not in theList then put line 1 of field "Title" after theList put "," after theList end if end if end repeat --put the list of titles in the extra wide dialog box DoList 999,theList,one put the result into tempList put item 2 of tempList into tempList find tempList in field "Title" click at 27,61 exit mouseUp end if end if --only 1 keyword to find set the cursor to 4 set the lockscreen to true put empty into theList repeat for number of cards go to next card if field "Keywords" is not empty then if tempList is in field "Keywords" then put line 1 of field "Title" after theList put "," after theList end if end if end repeat --put the list of titles in the wide dialog box DoList 999,theList,one put the result into tempList put item 2 of tempList into tempList find tempList in field "Title" click at 27,61 exit mouseUp end if --Alternatively, get a list of authors (without duplication) set the cursor to 4 push card set the lockscreen to true put empty into authorList go to card 1 repeat for number of cards go to next card if field "Author" is not empty then if line 1 of field "Author" is not in authorList then put line 1 of field "Author" after authorList put "," after authorList end if end if end repeat -- select an author to view DoList "Select","Cancel",authorList,one put the result into tempList put item 2 of tempList into tempList if tempList is empty then pop card pop card set the lockscreen to false exit mouseUp end if --get a list of articles by selected author set the cursor to 4 set the lockscreen to true put empty into theList repeat for number of cards go to next card if tempList is in field "Author" then put line 1 of field "Title" after theList put "," after theList end if end repeat --let the user select which article to go to DoList 999,theList,one put the result into tempList put item 2 of tempList into tempList if tempList is empty then exit mouseUp set the lockscreen to false find tempList in field "Title" click at 27,61 end mouseUp -- part 22 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=273 top=91 right=107 bottom=350 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: ----- HyperTalk script ----- on mouseUp --alphabetize keywords set the cursor to 4 put empty into theList repeat with count=1 to the number of lines in card field "KeyField" get line count of card field "KeyField" put it after theList put "," after theList end repeat --use Marvin Nielsen's SortItems XFCN to alphabetize put SortItems (theList,true) into theList --and Eric Celeste's Strip XFCN to remove commas put Strip(",",theList) into card field "Keyfield" set the scroll of card field "Keyfield" to 0 end mouseUp -- part 25 (field) -- low flags: 01 -- high flags: 0000 -- rect: left=33 top=77 right=91 bottom=158 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 9 -- style flags: 0 -- line height: 12 -- part name: Date -- part 26 (field) -- low flags: 01 -- high flags: 0000 -- rect: left=188 top=77 right=92 bottom=254 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 9 -- style flags: 0 -- line height: 12 -- part name: Time -- part 27 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=224 top=299 right=318 bottom=244 -- title width / last selected line: 0 -- icon id / first selected line: 15420 / 15420 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Prev ----- HyperTalk script ----- on mouseUp visual effect scroll right very fast go to previous card end mouseUp -- part 28 (field) -- low flags: 00 -- high flags: 0000 -- rect: left=288 top=55 right=73 bottom=474 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 12 -- style flags: 256 -- line height: 16 -- part name: Topic -- part 29 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=273 top=43 right=55 bottom=311 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: TopicButton ----- HyperTalk script ----- on mouseUp if the shiftkey is up then ask "What topic for this magazine index?" if it is empty then exit mouseUp put it into card field "Topic" exit mouseUp end if global myIndex1,myIndex2,errorCode,cardTotal put NewFileName("Name of new index?","") into myIndex2 if myIndex2 is empty then exit mouseUp set the cursor to 4 --strip off the word "stack" from the path name: put word 2 of the long name of this stack into myIndex1 --and the cursed quotes as well: put myIndex1 into tempIndex put empty into myIndex1 get the length of tempIndex put it into stringlength repeat with count = 2 to stringlength-1 put char count of tempIndex after myIndex1 end repeat --now clone this file with Brad J. Hicks' copyFile XFCN set the lockscreen to true put copyFile (myIndex1,myIndex2) into errorCode if it is empty then exit mouseUp if errorCode <> 0 then answer "Unable to copy this file" with "Oops!" exit mouseUp end if --go to the new stack and pare it down to two empty cards go to myIndex2 put the number of cards into cardTotal if cardTotal > 2 then repeat with count = cardTotal down to 3 go to card count doMenu Delete Card end repeat end if --go to the second card and empty the fields go to card 2 repeat with count = 1 to 9 put empty into field count end repeat --go to first card and empty the fields go to card 1 put empty into card field "Topic" put empty into card field "Keyfield" doMenu Compact Stack visual effect dissolve to inverse set the lockscreen to false go to card 1 end mouseUp -- part 31 (button) -- low flags: 00 -- high flags: 0000 -- rect: left=119 top=167 right=205 bottom=156 -- title width / last selected line: 0 -- icon id / first selected line: 27636 / 27636 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Editor ----- HyperTalk script ----- on mouseUp if the commandkey is down then set icon of target to 27636 exit mouseUp end if play "boing" set icon of target to 28603 wait 2 seconds set icon of target to 2561 end mouseUp -- part 42 (button) -- low flags: 00 -- high flags: 2000 -- rect: left=454 top=78 right=96 bottom=472 -- title width / last selected line: 0 -- icon id / first selected line: 19678 / 19678 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: About ----- HyperTalk script ----- on mouseUp if visible of card field "AboutMagadex" is true then hide card field "AboutMagadex" else show card field "AboutMagadex" end mouseUp -- part 20 (field) -- low flags: 81 -- high flags: 0004 -- rect: left=22 top=33 right=296 bottom=492 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 12 -- style flags: 256 -- line height: 16 -- part name: Help ----- HyperTalk script ----- on mouseUp set lockscreen to true hide card button "eyehelp" hide card button "keyhelp" hide card button "newcardhelp" hide card field "Help" set lockscreen to false end mouseUp -- part 33 (button) -- low flags: 80 -- high flags: 0000 -- rect: left=37 top=171 right=195 bottom=65 -- title width / last selected line: 0 -- icon id / first selected line: 24294 / 24294 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: keyHelp ----- HyperTalk script ----- -- part 34 (button) -- low flags: 80 -- high flags: 0000 -- rect: left=37 top=64 right=86 bottom=66 -- title width / last selected line: 0 -- icon id / first selected line: 1009 / 1009 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: eyehelp ----- HyperTalk script ----- -- part 37 (button) -- low flags: 80 -- high flags: 0000 -- rect: left=37 top=204 right=228 bottom=66 -- title width / last selected line: 0 -- icon id / first selected line: 3430 / 3430 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: newcardhelp ----- HyperTalk script ----- -- part 43 (field) -- low flags: 81 -- high flags: 2004 -- rect: left=54 top=44 right=265 bottom=443 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 12 -- style flags: 256 -- line height: 16 -- part name: AboutMagadex ----- HyperTalk script ----- on mouseUp hide card field "AboutMagadex" end mouseUp -- part contents for card part 25 ----- text ----- Tue, Dec 13, 1988 -- part contents for card part 26 ----- text ----- 9:18 AM -- part contents for card part 20 ----- text ----- • Click to view titles by author or keyword. • Command-click to view all titles. • Option-click to do menu "find". • Shift-click to re-view most recent search. Note: viewing by keyword allows for multiple search by shift-clicking more than one keyword. You will then have the option of searching for articles that contain ANY selected keyword, or ALL keywords. • Add keywords to listing (multiple entries OK). • Add new card(s). Command-click to sort cards. Power Tip: When entering articles from the same magazine, you can shift-click the word "Magazine" to duplicate the last entry's Magazine, Year, Month, and Volume information. -- part contents for card part 43 ----- text ----- Magadex v1.0 Copyright © 1988 by Ken Hill _________________________________________ This stack is provided as "Freeware." You may use it as you like and distribute unaltered copies (for no charge) to whomever you please. _________________________________________ Thanks to James Paul for the DoList XCMD, Brad J. Hicks for the Copyfile XFCN, Andrew Gilmartin for the NewFileName XFCN, Marvin Nielsen for the SortItems XFCN, and Steve Drazga for the Developer's Stack. _________________________________________ Ph: (902) 443-2025 GEnie: KHILL -- part contents for card part 6 ----- text ----- Opinion Shareware